#ifndef DARKNET_YOLO_H
#define DARKNET_YOLO_H

#include <string>
#include <opencv2/opencv.hpp>
#include "darknet.h"

class DarknetYolo {
public:
  DarknetYolo(std::string modelfile, std::string weightfile, int batchsize = 1, int platform = 0, float nms = 0.45, float thresh = 0.25);
  ~DarknetYolo();
  detection* Getdets(cv::Mat mat, int* nboxes);
private:
  std::string modelfile;
  std::string weightfile;
  int batchsize = 1;
  int platform = 0;
  float nms = 0.45;
  float thresh = 0.25;
  network* net = NULL;
  int imheight = 0;
  int imwidth = 0;
};

#endif  //DARKNET_YOLO_H
